/* 
 * File:   ITracer.h
 * Author: alexey
 *
 * Created on 5 Апрель 2011 г., 17:46
 */

#ifndef ITRACER_H
#define	ITRACER_H

#include <sys/types.h>
#include "IServiceLocator.h"

namespace storagemon
{
    enum TraceLevel
    {
        TraceLavelInfo = 1,
        TraceLavelWarning,
        TraceLavelError,
        TraceLavelDebug
    };

    class ITracer : public IService
    {
    public:
        virtual ~ITracer() {};
        virtual void SetLevel(TraceLevel level) = 0;
        virtual void Open(const char* target) = 0;
        virtual void Write(const char* data, TraceLevel level) = 0;
        virtual void Close() = 0;
    };

    const char TRACER_SERVICE[] = "tracer";
}

#endif	/* ITRACER_H */

